--------------------------------------------------------------------------- ValueError Traceback (most recent call last) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, include, exclude) 2154 # see https://github.com/ipython/ipython/issues/11038 2155 try: 2156 dct = self.to_dict() 2157 except Exception: -> 2158 utils.display_traceback(in_ipython=True) 2159 return {} 2160 else: 2161 return renderers.get()(dct) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 2516 # for easier specification of datum encodings. 2517 copy = self.copy(deep=False) 2518 copy.data = core.InlineData(values=[{}]) 2519 return super(Chart, copy).to_dict(*args, **kwargs) -> 2520 return super().to_dict(*args, **kwargs) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/schema/channels.py in ?(self, validate, ignore, context) 43 # We still parse it out of the shorthand, but drop it here. 44 parsed.pop('type', None) 45 elif not (type_in_shorthand or type_defined_explicitly): 46 if isinstance(context.get('data', None), pd.DataFrame): ---> 47 raise ValueError( 48 'Unable to determine data type for the field "{}";' 49 " verify that the field name is not misspelled." 50 " If you are referencing a field from a transform," ValueError: Unable to determine data type for the field "tech_type"; verify that the field name is not misspelled. If you are referencing a field from a transform, also confirm that the data type is specified correctly.
alt.Chart(...)
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, include, exclude) 2154 # see https://github.com/ipython/ipython/issues/11038 2155 try: 2156 dct = self.to_dict() 2157 except Exception: -> 2158 utils.display_traceback(in_ipython=True) 2159 return {} 2160 else: 2161 return renderers.get()(dct) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): --> 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 338 def _todict(obj, context): 339 """Convert an object to a dict representation.""" 340 if isinstance(obj, SchemaBase): 341 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 2516 # for easier specification of datum encodings. 2517 copy = self.copy(deep=False) 2518 copy.data = core.InlineData(values=[{}]) 2519 return super(Chart, copy).to_dict(*args, **kwargs) -> 2520 return super().to_dict(*args, **kwargs) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs) 846 847 # TopLevelMixin instance does not necessarily have to_dict defined 848 # but due to how Altair is set up this should hold. 849 # Too complex to type hint right now --> 850 dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs) # type: ignore[misc] 851 852 # TODO: following entries are added after validation. Should they be validated? 853 if is_top_level: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context) 792 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"] 793 } 794 if "mark" in kwds and isinstance(kwds["mark"], str): 795 kwds["mark"] = {"type": kwds["mark"]} --> 796 result = _todict( 797 kwds, 798 context=context, 799 ) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): --> 340 return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined} 341 elif hasattr(obj, "to_dict"): 342 return obj.to_dict() 343 elif isinstance(obj, np.number): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0) --> 340 def _todict(obj, context): 341 """Convert an object to a dict representation.""" 342 if isinstance(obj, SchemaBase): 343 return obj.to_dict(validate=False, context=context) /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context) 333 def _todict(obj, context): 334 """Convert an object to a dict representation.""" 335 if isinstance(obj, SchemaBase): --> 336 return obj.to_dict(validate=False, context=context) 337 elif isinstance(obj, (list, tuple, np.ndarray)): 338 return [_todict(v, context) for v in obj] 339 elif isinstance(obj, dict): /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/altair/vegalite/v5/schema/channels.py in ?(self, validate, ignore, context) 43 # We still parse it out of the shorthand, but drop it here. 44 parsed.pop('type', None) 45 elif not (type_in_shorthand or type_defined_explicitly): 46 if isinstance(context.get('data', None), pd.DataFrame): ---> 47 raise ValueError( 48 'Unable to determine data type for the field "{}";' 49 " verify that the field name is not misspelled." 50 " If you are referencing a field from a transform," ValueError: Unable to determine data type for the field "tech_type"; verify that the field name is not misspelled. If you are referencing a field from a transform, also confirm that the data type is specified correctly.
alt.FacetChart(...)
| tech_type | planning_year | GenX | SWITCH | TEMOA | USENSYS |
|---|---|---|---|---|---|
| Battery | 2027 | 21854 | 21894 | 21847 | 21854 |
| Battery | 2030 | 21719 | 21818 | 21547 | 21719 |
| Battery | 2035 | 20535 | 21020 | 21537 | 20535 |
| Battery | 2040 | 84 | 84 | 313 | 84 |
| Battery | 2045 | 0 | nan | 313 | nan |
| Battery | 2050 | 0 | nan | 313 | nan |
| Coal | 2027 | 157337 | 163248 | 157337 | 157337 |
| Coal | 2030 | 142458 | 143876 | 154481 | 142458 |
| Coal | 2035 | 122365 | 125937 | 140708 | 122365 |
| Coal | 2040 | 82414 | 88262 | 115870 | 82414 |
| Coal | 2045 | 57333 | 64898 | 81145 | 57333 |
| Coal | 2050 | 30232 | 31478 | 54296 | 30232 |
| Distributed Solar | 2027 | 47556 | 47886 | 47886 | 47556 |
| Distributed Solar | 2030 | 72304 | 72744 | 47886 | 72304 |
| Distributed Solar | 2035 | 96511 | 97023 | 72743 | 96511 |
| Distributed Solar | 2040 | 102759 | 103282 | 97023 | 102759 |
| Distributed Solar | 2045 | 107818 | 108374 | 103282 | 107818 |
| Distributed Solar | 2050 | 116123 | 116713 | 108368 | 116123 |
| Geothermal | 2027 | 676 | 676 | 825 | 676 |
| Geothermal | 2030 | 621 | 646 | 825 | 621 |
| Geothermal | 2035 | 591 | 606 | 754 | 591 |
| Geothermal | 2040 | 398 | 410 | 542 | 398 |
| Geothermal | 2045 | 217 | 253 | 390 | 217 |
| Geothermal | 2050 | 100 | 124 | 45 | 100 |
| Hydro | 2027 | 94746 | 95067 | 94302 | 94746 |
| Hydro | 2030 | 92716 | 93456 | 93814 | 92716 |
| Hydro | 2035 | 91778 | 91789 | 91883 | 91778 |
| Hydro | 2040 | 89100 | 89428 | 91031 | 89100 |
| Hydro | 2045 | 84874 | 85230 | 88439 | 84874 |
| Hydro | 2050 | 81492 | 82628 | 84348 | 81492 |
| Natural Gas CC | 2027 | 306785 | 315077 | 306786 | 306785 |
| Natural Gas CC | 2030 | 305219 | 313442 | 305830 | 305219 |
| Natural Gas CC | 2035 | 300271 | 309829 | 303311 | 300271 |
| Natural Gas CC | 2040 | 297744 | 307611 | 298290 | 297744 |
| Natural Gas CC | 2045 | 295809 | 305929 | 295527 | 295809 |
| Natural Gas CC | 2050 | 287607 | 301379 | 292957 | 287607 |
| Natural Gas CT | 2027 | 140564 | 140861 | 140562 | 140564 |
| Natural Gas CT | 2030 | 139354 | 139627 | 139068 | 139354 |
| Natural Gas CT | 2035 | 136588 | 137335 | 137611 | 136588 |
| Natural Gas CT | 2040 | 130481 | 132113 | 134278 | 130481 |
| Natural Gas CT | 2045 | 119365 | 123239 | 129173 | 119365 |
| Natural Gas CT | 2050 | 95279 | 110178 | 118005 | 95279 |
| Nuclear | 2027 | 97038 | 97038 | 97038 | 97038 |
| Nuclear | 2030 | 97038 | 97038 | 96853 | 97038 |
| Nuclear | 2035 | 97038 | 97038 | 96853 | 97038 |
| Nuclear | 2040 | 97038 | 97038 | 96852 | 97038 |
| Nuclear | 2045 | 97038 | 97038 | 96852 | 97038 |
| Nuclear | 2050 | 94298 | 96414 | 96852 | 94298 |
| Solar | 2027 | 115692 | 115696 | 115693 | 115692 |
| Solar | 2030 | 115685 | 115685 | 115693 | 115685 |
| Solar | 2035 | 115677 | 115678 | 115686 | 115677 |
| Solar | 2040 | 115288 | 115519 | 115678 | 115288 |
| Solar | 2045 | 103532 | 106893 | 115185 | 103532 |
| Solar | 2050 | 69624 | 80234 | 102943 | 69624 |
| Wind | 2027 | 155394 | 152412 | 155395 | 155394 |
| Wind | 2030 | 154608 | 154641 | 155395 | 154608 |
| Wind | 2035 | 148441 | 150601 | 154610 | 148441 |
| Wind | 2040 | 117636 | 122448 | 148469 | 117636 |
| Wind | 2045 | 83551 | 92075 | 117078 | 83551 |
| Wind | 2050 | 37428 | 51820 | 82658 | 37428 |
| tech_type | planning_year | GenX | SWITCH | TEMOA | USENSYS |
|---|---|---|---|---|---|
| Battery | 2027 | 21854 | 21894 | 21653 | 21854 |
| Battery | 2030 | 21719 | 21818 | 21537 | 21719 |
| Battery | 2035 | 20535 | 21020 | 20673 | 20535 |
| Battery | 2040 | 84 | 84 | 313 | 84 |
| Battery | 2045 | 0 | nan | 313 | nan |
| Battery | 2050 | 0 | nan | 313 | nan |
| Coal | 2027 | 157337 | 163248 | 155767 | 157337 |
| Coal | 2030 | 142458 | 143876 | 141035 | 142458 |
| Coal | 2035 | 122365 | 125937 | 121141 | 122365 |
| Coal | 2040 | 82414 | 88262 | 81587 | 82414 |
| Coal | 2045 | 57333 | 64898 | 56759 | 57333 |
| Coal | 2050 | 30232 | 31478 | 29924 | 30232 |
| Distributed Solar | 2027 | 47556 | 47886 | 47886 | 47556 |
| Distributed Solar | 2030 | 72304 | 72744 | 72743 | 72304 |
| Distributed Solar | 2035 | 96511 | 97023 | 97023 | 96511 |
| Distributed Solar | 2040 | 102759 | 103282 | 103282 | 102759 |
| Distributed Solar | 2045 | 107818 | 108374 | 108368 | 107818 |
| Distributed Solar | 2050 | 116123 | 116713 | 116688 | 116123 |
| Geothermal | 2027 | 676 | 676 | 825 | 676 |
| Geothermal | 2030 | 621 | 646 | 754 | 621 |
| Geothermal | 2035 | 591 | 606 | 717 | 591 |
| Geothermal | 2040 | 398 | 410 | 390 | 398 |
| Geothermal | 2045 | 217 | 253 | 227 | 217 |
| Geothermal | 2050 | 100 | 124 | 45 | 100 |
| Hydro | 2027 | 94746 | 95067 | 93814 | 94746 |
| Hydro | 2030 | 92716 | 93456 | 91883 | 92716 |
| Hydro | 2035 | 91778 | 91789 | 91031 | 91778 |
| Hydro | 2040 | 89100 | 89428 | 88439 | 89100 |
| Hydro | 2045 | 84874 | 85230 | 84348 | 84874 |
| Hydro | 2050 | 81492 | 82628 | 81024 | 81492 |
| Natural Gas CC | 2027 | 306785 | 315077 | 305830 | 306785 |
| Natural Gas CC | 2030 | 305219 | 313442 | 303311 | 305219 |
| Natural Gas CC | 2035 | 300271 | 309829 | 298290 | 300271 |
| Natural Gas CC | 2040 | 297744 | 307611 | 295527 | 297744 |
| Natural Gas CC | 2045 | 295809 | 305929 | 292957 | 295809 |
| Natural Gas CC | 2050 | 287607 | 301379 | 284731 | 287607 |
| Natural Gas CT | 2027 | 140564 | 140861 | 139198 | 140564 |
| Natural Gas CT | 2030 | 139354 | 139627 | 137932 | 139354 |
| Natural Gas CT | 2035 | 136588 | 137335 | 135242 | 136588 |
| Natural Gas CT | 2040 | 130481 | 132113 | 129173 | 130481 |
| Natural Gas CT | 2045 | 119365 | 123239 | 118124 | 119365 |
| Natural Gas CT | 2050 | 95279 | 110178 | 94256 | 95279 |
| Nuclear | 2027 | 97038 | 97038 | 96853 | 97038 |
| Nuclear | 2030 | 97038 | 97038 | 96853 | 97038 |
| Nuclear | 2035 | 97038 | 97038 | 96852 | 97038 |
| Nuclear | 2040 | 97038 | 97038 | 96852 | 97038 |
| Nuclear | 2045 | 97038 | 97038 | 96852 | 97038 |
| Nuclear | 2050 | 94298 | 96414 | 94174 | 94298 |
| Solar | 2027 | 115692 | 115696 | 115693 | 115692 |
| Solar | 2030 | 115685 | 115685 | 115686 | 115685 |
| Solar | 2035 | 115677 | 115678 | 115678 | 115677 |
| Solar | 2040 | 115288 | 115519 | 115287 | 115288 |
| Solar | 2045 | 103532 | 106893 | 103440 | 103532 |
| Solar | 2050 | 69624 | 80234 | 69396 | 69624 |
| Wind | 2027 | 155394 | 153912 | 155395 | 155394 |
| Wind | 2030 | 154608 | 154641 | 154610 | 154608 |
| Wind | 2035 | 148441 | 150601 | 148469 | 148441 |
| Wind | 2040 | 117636 | 122448 | 117660 | 117636 |
| Wind | 2045 | 83551 | 92075 | 83528 | 83551 |
| Wind | 2050 | 37428 | 51820 | 37376 | 37428 |
| agg_zone | tech_type | resource_name | planning_year | GenX | SWITCH | TEMOA | USENSYS |
|---|---|---|---|---|---|---|---|
|
Loading ITables v2.1.4 from the internet...
(need help?) |